#include <STC15F2K60S2.H>
#include <intrins.H>

sbit Tx=P1^0;
sbit Rx=P1^1;

void Delay12us()		//@12.000MHz
{
	unsigned char i;

	_nop_();
	_nop_();
	i = 33;
	while (--i);
}

void Ulatr_Init()
{
//	unsigned char i;
//	for(i=0;i<8;i++)
//	{
		Tx=1;
		Delay12us();
		Tx=0;
		Delay12us();
//	}
	
}

unsigned char Ulatr_Wave()
{
	unsigned int temp;
	TMOD &= 0x0F;	
	TH1=TL1=0;
	Ulatr_Init();
	TR1=1;
	while((Rx==1)&&(TF1==0));
	TR1=0;
	if(TF1==0)
	{
		temp=(TH1<<8)|TL1;
		return (temp*0.017);
	}
	else
	{
		TF1=0;
		return 0;
	}
	
}